'use strict'

const Tarifa = require('../../classes/Tarifa')
const Hotel = require('../../classes/Hotel')
const Busca = require('../../classes/Busca')
const Orcamento = require('../../classes/Orcamento')

class App {
    
    constructor(){
        this.orcamentos = new Orcamento()
        this.estadia = 'Regular: 16Mar2009(mon), 17Mar2009(tues), 18Mar2009(wed)'
        this.hoteis = new Array()
        this.iniciar()
    }

    criarHotel(nome, classificacao, normal, fidelidade, normalfds, fidelidadefds) {
        const tarifa = new Tarifa()
        tarifa.setPrecos(normal,fidelidade,normalfds,fidelidadefds)
        return new Hotel(nome, classificacao, tarifa)
    }

    criarHoteis(){
        this.hoteis.push(this.criarHotel('Hotel 1',3,50,50,120,60))
        this.hoteis.push(this.criarHotel('Hotel 2',1,50,120,230,160))
        this.hoteis.push(this.criarHotel('Hotel 3',5,50,170,270,185))
    }

    montarOrcamentos(){
        this.orcamentos = this.orcamentos.montarOrcamentos(this.hoteis, this.estadia)        
    }

    getOrcamentos(){
        return this.orcamentos
    }

    iniciar(){
        this.criarHoteis()
        this.montarOrcamentos()
    }

    getHoteis(){
        return this.hoteis
    }

    getEstadia(){
        return this.estadia
    }

}

module.exports = App